In recent years, there has been a tremendous growth in the use of portable computing devices, such as laptop computers, personal data assistants (PDAs), computerized mobile phones, and the like. Accordingly, the increased use of portable computing devices has placed additional production demands on existing manufacturing and testing capabilities. The increased production demands, along with a longstanding interest to continually improve the quality of manufactured computer products, have intensified a continuing need to improve the efficiency of hardware and software test procedures. In addition, as described more fully below with respect to FIG. 1, the need for improved efficiency is especially acute with respect to computer hardware, such as laptop computers designed for connection to a docking device or station, that must be docked and undocked during testing.
One way to improve the efficiency of test procedures is to automate test procedures to the extent possible. For example, some existing testing systems utilize customized scripts and macros to run software applications to identify defects in software being tested. Although automation tools such as scripts and macros improve software test procedures, such automation tools have limitations. For example, tests involving the docking, undocking, and redocking of a computer, in the past, cannot be carried out by a script or macro alone. As described in the following example, such tests have traditionally required a human tester to perform the docking, undocking, and redocking steps.
FIG. 1 illustrates an example of a conventional computer system 100 test set up designed to test portable computing devices, such as laptop computers. More specifically, the computer system 100 includes a test server 107 that is in communication with a plurality of portable computing devices 103 via a network 101 and a plurality of docking devices 104 (also called docking stations). In a conventional manner, each of the plurality of docking devices 104 connects a computing device 103 to the network 101. In this conventional arrangement, the docking devices 104 also connect many other resources to each computing device 103, such as a power source, access to external storage devices, or the like. Each of the docking devices 104 includes a multi-conductor connector 105 for connecting a computing device to an associated docking device. As will be readily appreciated by those of ordinary skill in the relevant art and others, as shown in the upper right in FIG. 1, the connector 105 is configured to allow a user to remove a selected computing device 103′ from an associated docking device 104′.
The computer system 100 depicted in FIG. 1 is designed for testing operating systems or software applications running on the computing devices 103 that may be effected by the docking or undocking of the computer devices from their respective docking stations 104. For example, in a test of an operating system, it may be desirable to determine if the operating system running on a computing device 103′ properly manages the resources associated with the related docking device 104′, such as the operating state of an external drive prior to undocking, so that the selected computing device 103′ can be successfully removed from the related docking device 104′. In such a test, a test operator may manually instruct the selected computing device 103′ to transition into a sleep mode. To determine if the selected computing device 103′ has properly transitioned to a sleep mode and properly managed the resources associated with the associated docking device 104′ when entering the sleep mode, the test operator must physically remove the selected computing device 103′ from the related docking device 104′. This task requires a person to wait for the computer to transition into sleep mode before he or she can remove the selected computing device 103 for inspection. After inspection, the selected computing device 103′ may have to be physically reattached to the related docking device 104′ in order to complete other test objectives. As will be appreciated by those skilled in the art and others, this test procedure requires a substantial amount of human resource time in order to test even a small number of computing devices.
Existing computer test systems present additional drawbacks when used to test a large number of computing devices designed to be connected to docking devices or stations. Such test environments are often hampered by the cumbersome task of coordinating the actions of a large number of human testers assigned to dock or undock many different computers at specific times. Among other disadvantages, this requirement results in many problems caused by human error.
As will be readily understood from the foregoing, a need exists for computerized test systems that improves the testing of computer hardware and software. More specifically, there is a need for an automated system and method that can independently control the “docking and/or undocking” of computing devices from their associated docking stations during a software test procedure with minimal human intervention.